你可以通过创建 order
对象完成一笔订单的下单和付款动作。一个 order
对象可能包含多笔(多渠道)的 charge
对象。 order
对象支持优惠券使用,子商户收款,分润等功能(均为可选),请参考相应的章节获取更多详情。
注 :服务端在传 Order 对象到客户端前,请先使用各 SDK 自带的序列化方式(比如 Java 的 .toString()
)将对象转换成 JSON 字符串。
属性 | 描述 |
---|---|
id string | 订单对象 ID,由 Ping++ 生成。 |
object string | 值为 "order"。 |
created timestamp | 创建时间,用 Unix 时间戳表示。 |
livemode boolean | 是否是 live 模式。 |
app string | 订单应用。对应 app 对象的 id ,查看 如何获取App ID。 |
status string | 目前订单支持状态。分为待支付:created、已付款:paid、存在退款:refunded、已取消:canceled。 |
paid boolean | 是否已付款。当订单的已付金额 - 已退金额 ≥ 应付金额(amount_paid - amount_refunded ≥ actual_amount)时,该值变为 true 。 |
refunded boolean | 是否存在退款信息,无论退款是否成功。 |
uid string | 消费者 user 对象的 id 。 |
amount int | 原始金额,单位为分。 |
coupon_amount int | 优惠券折扣金额,单位为分。 |
actual_amount int | 应付金额,单位为分。值为原始金额减去优惠券折扣金额(amount - coupon_amount )。 |
merchant_order_no string | 商户订单号,适配每个渠道对此参数的要求,必须在商户的系统内唯一。长度限制 8~20 位,要求数字或字母,不允许特殊字符。 |
amount_paid int | 已付金额,值为所有包含已付款的 charge 对象的 amount 总额,单位为分。 |
amount_refunded int | 已退金额(成功退款的金额),值为所有包含有退款的 charge 对象的 amount_refunded 总额,单位为分。 |
currency string | 3 位 ISO 货币代码,小写字母,人民币为 cny 。 |
subject string | 商品标题。 |
body string | 商品描述信息。 |
client_ip ip address | 发起支付请求客户端的 IP 地址,支持 IPv4、IPv6 格式。 |
time_paid timestamp | 付款完成时间,用 Unix 时间戳表示。 |
time_expire timestamp | 订单过期时间,用 Unix 时间戳表示。时间范围在订单创建后的 1 分钟到 7 天,默认值为 1 天,创建时间以 Ping++ 服务器时间为准。如果订单到达过期时间仍未完成付款,则会自动变为 canceled 状态。 |
coupon string | 使用的 coupon 对象的 id 。 |
available_balance int | 订单支付前,消费者 user 的可用余额,单位为分。 |
receipt_app string | 收款方 app 对象的 id 。订单使用收款方应用的渠道参数进行支付。 |
service_app string | 服务方 app 对象的 id 。表示承接该交易服务的应用,由服务方和平台确定订单的层级链都能查询到该 order 对象。 |
available_methods list | 可使用支付渠道列表。如果收款方是子商户,会展示该子商户可使用的支付渠道。客户端可以根据此列表展示合适的支付渠道供用户选择。 |
charge_essentials hash | 最近一次请求的支付所需的支付要素,用于客户端打开支付控件、支付页面、显示二维码等。包括 channel 、transaction_no 、credential 、extra 等要素。 |
charges list | 关联的 charge 对象列表,其中 charge 对象不包含 refund 对象。 |
description string | 订单附加说明,最多 255 个 Unicode 字符。 |
metadata hash | 详见 元数据。 |
{
"id": "2001708140000017551",
"object": "order",
"created": 1502695388,
"livemode": false,
"paid": false,
"refunded": false,
"status": "created",
"app": "app_1Gqj58ynP0mHeX1q",
"uid": "user_007",
"available_balance": 0,
"merchant_order_no": "2017081400000006",
"amount": 1000,
"actual_amount": 800,
"amount_refunded": 0,
"amount_paid": 0,
"coupon_amount": 200,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"client_ip": "127.0.0.1",
"time_paid": null,
"time_expire": 1502781019,
"coupon": "300317081415225500002001",
"description": null,
"metadata": {},
"charge_essentials": {},
"receipt_app": "app_1Gqj58ynP0mHeX1q",
"service_app": "app_1Gqj58ynP0mHeX1q",
"available_methods": [
"balance"
],
"charges": {
"object": "list",
"url": "/v1/charges",
"has_more": false,
"data": []
}
}